Companies in many different industries handle large database operations using mainframe computers. One such industry is the telecommunications industry, where databases are used to store detailed subscriber records. These databases are large and require routine maintenance to manage them due to a number of reasons, including crashes, updates, corrections, and verifications.
One mainframe manufacturer is International Business Machines (IBM). IBM also provides a database software program known as Information Management System (IMS), which can manage very large databases (e.g., hundreds of Gigabytes). Databases managed by the IMS system are configured as hierarchical databases. IM software is expensive to license and is individually operated on mainframe computers (i.e., one license per computer). By running multiple IMS subsystems on a single machine, software licensing costs can be reduced.
As understood in the art, mainframe computers operate by processing jobs that are scheduled in a queue. These jobs are formed by a series of statements or commands that are processed by a processor of the mainframe computer. Jobs are generally statements formatted in the job control language (JCL). Typically, a mainframe computer runs a job by scheduling and executing a file with JCL commands or statements configured for the mainframe computer to perform a task, such as re-loading a database from a certain time. In addition to the file with JCL statements, control cards are used to set parameters for the jobs. The control cards are typically eighty-byte strings that have each byte and groups of bytes representative of the different parameters. The JCL commands and control cards are comprehensive and generally require well-trained database administrators to adequately generate proper job files and control cards to perform even routine procedures and maintenance on IMS databases.
To aid database administrators, IBM and BMC provide database utilities. These utilities are JCL programs that are configured to perform certain functions. The database administrator, however, must generate a control card for each job. This process is time consuming, costly, and reliant on a limited number of skilled employees. Even with skilled employees, it is not uncommon for run-time errors to be caused by improperly written control cards. Others have created different utility programs, but these, too, require control cards having different formats to be generated by the user.